package modelo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class CalendarioDAO {

	public CalendarioDAO() {
		super();
	}


	public void registrarCalendario(Calendario calendar) {
		String tiraSQL = "INSERT INTO jugador "+
		 				 "VALUES ("+
		 				 "'"+calendar.getCodigo() +"',"+
		 				"'"+calendar.getFecha()+"',"+
		 				"'"+calendar.getLocal().getCodigo()+"',"+
		 				"'"+calendar.getVisitante().getCodigo()+"',"+
		 				"'"+calendar.getArbitro().getCedula()+"',"+
		 				"'0001', 'A')";
		
		Conexion.ejecutar(tiraSQL);
	}
	
	private Equipo buscarEquipo(String codigoEquipo){
		return (new EquipoDAO()).consultarEquipo(codigoEquipo);
	}
	
	private Arbitro buscarArbitro(String codigoArbitro){
		return (new ArbitroDAO()).consultarArbitro(codigoArbitro);	
	}
	
	public List<Calendario> consultarCalendario() {
		List<Calendario> lstJuegos = new ArrayList<Calendario>();
		String tiraSQL = "SELECT * "+
		                 "FROM calendario " +
		                 "WHERE estatus='A'";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				String codigo = resultSet.getString("codigo");
				String fecha = resultSet.getString("fecha");
				String codLocal = resultSet.getString("local");
				int golesLocal = resultSet.getInt("golesLocal");
				String codVisitante = resultSet.getString("visitante");
				int golesVisitante = resultSet.getInt("golesVisitante");
				String codArbitro = resultSet.getString("arbitro");
				
				Calendario juego = new Calendario();
				juego.setCodigo(codigo);
				juego.setFecha(fecha);
				juego.setLocal(buscarEquipo(codLocal));
				juego.setVisitante(buscarEquipo(codVisitante));
				juego.setArbitro(buscarArbitro(codArbitro));
				lstJuegos.add(juego);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return lstJuegos;
	}	
	
	public Calendario consultarJuego(String cod) {
		Calendario juego = new Calendario();
		String tiraSQL = "SELECT * "+
		                 "FROM calendario " +
		                 "WHERE '"+cod+"' estatus='A'";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			if (resultSet.next()) {
				String codigo = resultSet.getString("codigo");
				String fecha = resultSet.getString("fecha");
				String codLocal = resultSet.getString("local");
				int golesLocal = resultSet.getInt("golesLocal");
				String codVisitante = resultSet.getString("visitante");
				int golesVisitante = resultSet.getInt("golesVisitante");
				String codArbitro = resultSet.getString("arbitro");
				
				//Calendario juego = new Calendario();
				juego.setCodigo(codigo);
				juego.setFecha(fecha);
				juego.setLocal(buscarEquipo(codLocal));
				juego.setVisitante(buscarEquipo(codVisitante));
				juego.setArbitro(buscarArbitro(codArbitro));
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return juego;
	}
}